Модель Легковесных Виртуальных Машин В связи с появлением такого понятия как Erlang On Xen, легковесных имаджей с эрланг приложениями, готовых для запуска в Xen за 20 миллисекунд, меняется концепция компьютинга. Пояснить можно на примере статического блога. Зачем блогу быть динамическим и постоянно рендерить свой контент (будь то сервер-сайд рендеринг или рендеринг на клиенте в JS), блог должен быть статическим и отдаваться в каком нибудь CDN. И только в момент когда вы хотите написать пост вы попадаете на динамическую, активную страницу, которая позволяет вам прислать данные на сервер. В принципе data-on-wire JavaScript приложения так и работают за исключением того, что некоторые из них идут по неправильному пути и рендерят страницу на клиенте и поэтому кажутся очень неповоротливыми и прожорливыми. Модель данных когда все ваши данные помещаются в вашей виртуальной машине и вам не нужно разделять данные с другими пользователями, как например свой блог со своими комментариями, свой веб магазин, свой профайл в социальной сети. Пока вам не оставляют комментарии, пока вы не пишете посты, пока у вас ничего не покупают нет никакого смысла быть вообще запущенными. Вы запускаете свою остановленную виртуальную машину только в момент HTTP запроса к вашему REST сервису или к вашему сайту: добавить комментарий в ваш фид, совершить транзакцию в вашем веб магазине. После этого запроса перегенерируется статическая страница и виртуальная машина суспендится и вы перестаете платить за процессорное время в клауде. Вы платите только тогда когда к вам приходят пользователи что-то делать, когда они приходят просто получать информацию вы за это не платите и отдаете это статикой в CDN без всяких навороченных технологий. Этот подход к сайто-строительству возможен только если останавливать и запускать виртуальные машины можно достаточно быстро в пределах 10% времени от обслуживания HTTP запроса. Именно за столько (30.77 миллисекунд) у нас в клауде спавнится имадж собранный на Erlang On Xen билдере. xl -v create -c domain_config Ling 0.2.1 is here Started in 30770 us Erlang [ling-0.2.1] Eshell V5.9.1 (abort with ^G) 1> Естественно все это требует аккуратного и нового подхода к создания сайтов. Именно поэтому мы создаем не только сайты, но и веб фреймворки и свой PaaS. Наш Erlang PaaS будет позволять создавать виртуальные девелоперские эрланг машины в линукс контейнерах (LXC) с доступом по SSH и всем необходимым рабочим окружением: nodejs для утилит по работе с упаковкой JS, LESS CSS и другие утилиты, эрлангом и другими вещами необходимыми в эрланг разработке включая полный пакет наших PaaS приложений. И только когда приложение отшлифовано вы можете приостановить LXC контейнер и задеплоить ваше приложение в наш Xen пул. Это приложение будет подниматься вместе с образом только на входящие HTTP запросы и вы будете платить только за те секунды когда ваше приложение взаимодействовало с сервером, а когда пользователи получают статику вы будете платить совершенно по другой схеме. Таким образом мы не только готовимся к новому вебу адаптируя свои библиотеки под WebSockets, SPDY, мы фактически создаем новый веб. Мы первые, кто будет у себя на Xen пуле запускать созданные имаджи Erlang On Xen билдером. Мы уже в будущем :) Приходите 3 августа узнать и увидеть наш Erlang PaaS фронтэнд в действии и пообщаться вживую с разработчиками Erlang On Xen. ___________________ [1]. http://erlangonxen.org/ [2]. http://voxoz.com/ [3]. http://synrc.com/